#pragma once

#include <Logger.hpp>

namespace NaturalEngine {
    class Log final {
    public:
        template<typename... Args>
        static void Trace(format_string_t<Args...> fmt, Args &&... args);

        template<typename... Args>
        static void Debug(format_string_t<Args...> fmt, Args &&... args);

        template<typename... Args>
        static void Info(format_string_t<Args...> fmt, Args &&... args);

        template<typename... Args>
        static void Warn(format_string_t<Args...> fmt, Args &&... args);

        template<typename... Args>
        static void Error(format_string_t<Args...> fmt, Args &&... args);
    };
}
